#! /usr/bin/lua
---
-- @file
-- @brief Lua示例脚本：互斥锁
-- @author
-- + 隐星魂 (Roy Sun) <xwos@xwos.tech>
-- @copyright
-- + Copyright © 2015 xwos.tech, All Rights Reserved.
-- > Licensed under the Apache License, Version 2.0 (the "License");
-- > you may not use this file except in compliance with the License.
-- > You may obtain a copy of the License at
-- >
-- >         http://www.apache.org/licenses/LICENSE-2.0
-- >
-- > Unless required by applicable law or agreed to in writing, software
-- > distributed under the License is distributed on an "AS IS" BASIS,
-- > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- > See the License for the specific language governing permissions and
-- > limitations under the License.
--

tstmtx = xwos.mtx.new()
tstmtx:lock()
xwxt["tstmtx"] = tstmtx
function mtxthd_main()
  rc = xwxt.tstmtx:lock()
  if (rc == 0) then
    print("Wait mutex ... OK")
  else
    print("Wait mutex ... error:", rc)
  end
end
mtxthd = xwos.thd.call(mtxthd_main, true)
tstmtx:unlock()
mtxthd:stop()
xwxt.tstmtx = nil
xwxt.gc()
tstmtx = nil
collectgarbage()
